/*package br.pacote.negocio;

import java.sql.ResultSetMetaData;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.ParseException;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import java.util.Vector;
import javax.swing.JScrollPane;
import javax.swing.text.MaskFormatter;
import javax.swing.JFormattedTextField;
import javax.swing.JOptionPane;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;




public class Exemplo extends JInternalFrame implements ActionListener
{
   private JLabel lbTitulo;
   private JLabel lbDescricao;
   private JLabel lbData;
   private JLabel lbHoras;
   private JLabel lbMinutos;
   private JButton btnConsultar;
   private JButton btnSalvar;
   private JButton btnEditar;
   private JButton btnExcluir;
   private JTextField txtData;
   private MaskFormatter campoData;
   private JTextField txtHoras;
   private JTextField txtMinutos;
   private JScrollPane panelSQL;
   private JScrollPane panelSQL2;
   private JTable lista;
   private JTable lista2;
   private DefaultTableModel defaultDataModel = new DefaultTableModel();
   private DefaultTableModel defaultDataModel2 = new DefaultTableModel();
   private Vector nomeColunas = new Vector();
   private Vector dados = new Vector();
   private Vector nomeColunas2 = new Vector();
   private Vector dados2 = new Vector();


   public void limpar()
   {
      txtData.setText("");
      txtHoras.setText("");
      txtMinutos.setText("");
   }

   public void reinicializaDados()
   {
      Vector r = new Vector();
      r.add("Nenhum registro para exibir");

      nomeColunas.removeAllElements();
      dados.removeAllElements();
      nomeColunas.add("Sem dados");
      dados.add(r);
      defaultDataModel.setDataVector(dados,nomeColunas);
      defaultDataModel2.setDataVector(dados,nomeColunas);
   }

   public Exemplo() throws ParseException
   {
      super("Login");

      lbTitulo = new JLabel("Controle de Estudos");
      lbDescricao = new JLabel("10.000(Dez mil) Horas para ser um bom programador em java.");
      lbData = new JLabel("Data:");
      lbHoras = new JLabel("Horas:");
      lbMinutos = new JLabel("Minutos:");


      btnConsultar = new JButton("Consultar");
      btnSalvar = new JButton ("Salvar");
      btnEditar = new JButton ("Editar");
      btnExcluir = new JButton ("Excluir");

      campoData = new MaskFormatter("##/##/####");
      txtData = new JFormattedTextField(campoData);
      txtHoras = new JTextField();
      txtMinutos = new JTextField();

      lista = new JTable(defaultDataModel);
      panelSQL = new JScrollPane(lista);

      lista2 = new JTable(defaultDataModel2);
      panelSQL2 = new JScrollPane(lista2);


      setLayout(null);

      lbTitulo.setBounds(190,-50,150,120);
      lbDescricao.setBounds(70,-30,400,120);
      lbData.setBounds(20,0,150,120);
      lbHoras.setBounds(20,30,150,120);
      lbMinutos.setBounds(20,60,150,120);


      txtData.setBounds(70,50,100,20);
      txtHoras.setBounds(70,80,100,20);
      txtMinutos.setBounds(70,110,100,20);


      btnConsultar.setBounds(20,150,100,20);
      btnSalvar.setBounds(140,150,100,20);
      btnEditar.setBounds(260,150,100,20);
      btnExcluir.setBounds(380,150,100,20);

      panelSQL.setBounds(20,180,462,320);
      panelSQL2.setBounds(260,50,220,80);

      getContentPane().add(lbTitulo);
      getContentPane().add(lbDescricao);
      getContentPane().add(lbData);
      getContentPane().add(lbHoras);
      getContentPane().add(lbMinutos);


      getContentPane().add(txtData);
      getContentPane().add(txtHoras);
      getContentPane().add(txtMinutos);


      getContentPane().add(btnConsultar);
      getContentPane().add(btnSalvar);
      getContentPane().add(btnEditar);
      getContentPane().add(btnExcluir);

      getContentPane().add(panelSQL);
      getContentPane().add(panelSQL2);

      btnConsultar.addActionListener(this);
      btnSalvar.addActionListener(this);
      btnEditar.addActionListener(this);
      btnExcluir.addActionListener(this);

      reinicializaDados();

      setBounds(0,0,510,550);
      setVisible(true);
      setClosable(true);
      setDefaultCloseOperation(DISPOSE_ON_CLOSE);
   }


   public void actionPerformed(ActionEvent e)
   {
      if(e.getSource()==btnConsultar)
      {
         String url="jdbc:mysql://localhost/controle_de_estudos";
         String driver="com.mysql.jdbc.Driver";
         String usuario= "root";
         String senha="root";

         Connection conexao = null;
         Statement sentenca = null;
         ResultSet resultSet= null;
         ResultSetMetaData resultSetMetaData = null;

         try
         {
            

            for(int i=0; i< resultSetMetaData.getColumnCount();i++)
            {
               nomeColunas.add(i, resultSetMetaData.getColumnName(i+1));
            }

            Vector registro = null;

            dados.removeAllElements();

            while(resultSet.next())
            {
               registro = new Vector();

               for(int i=1; i<=resultSetMetaData.getColumnCount();i++)
               {
                  registro.add(resultSet.getString(i));
               }

               dados.add(registro);
            }
            defaultDataModel.setDataVector(dados,nomeColunas);


         }catch(ClassNotFoundException ex)
         {
            JOptionPane.showMessageDialog(this,"Driver não localizado: "+ ex.getMessage());
            reinicializaDados();
         }catch(SQLException ex)
         {
            JOptionPane.showMessageDialog(this,"Erro de SQL:"+ ex.getMessage());
            reinicializaDados();
         }finally
         {
            try
            {
               sentenca.close();
               resultSet.close();
               conexao.close();
            }catch(SQLException ex)
            {
               JOptionPane.showMessageDialog(this,"Erro de SQL: "+ex.getMessage());
            }
         }
      }

      if(e.getSource()==btnConsultar)
      {
         String url="jdbc:mysql://localhost/controle_de_estudos";
         String driver="com.mysql.jdbc.Driver";
         String usuario= "root";
         String senha="root";

         Connection conexao = null;
         Statement sentenca = null;
         ResultSet resultSet= null;
         ResultSetMetaData resultSetMetaData = null;

         try
         {
            Class.forName(driver);

            conexao = DriverManager.getConnection(url,usuario,senha);
            sentenca = (Statement) conexao.createStatement();
            resultSet = sentenca.executeQuery("Select (sum(horas)+(sum(minutos)/60))as Total from controle");
            resultSetMetaData = resultSet.getMetaData();
            nomeColunas2.removeAllElements();

            for(int i=0; i< resultSetMetaData.getColumnCount();i++)
            {
               nomeColunas2.add(i, resultSetMetaData.getColumnName(i+1));
            }

            Vector registro = null;

            dados2.removeAllElements();

            while(resultSet.next())
            {
               registro = new Vector();

               for(int i=1; i<=resultSetMetaData.getColumnCount();i++)
               {
                  registro.add(resultSet.getString(i));
               }

               dados2.add(registro);
            }
            defaultDataModel2.setDataVector(dados2,nomeColunas2);


         }catch(ClassNotFoundException ex)
         {
            JOptionPane.showMessageDialog(this,"Driver não localizado: "+ ex.getMessage());
            reinicializaDados();
         }catch(SQLException ex)
         {
            JOptionPane.showMessageDialog(this,"Erro de SQL:"+ ex.getMessage());
            reinicializaDados();
         }finally
         {
            try
            {
               sentenca.close();
               resultSet.close();
               conexao.close();
            }catch(SQLException ex)
            {
               JOptionPane.showMessageDialog(this,"Erro de SQL: "+ex.getMessage());
            }
         }
      }

      if(e.getSource()==btnEditar)
      {
         String info= JOptionPane.showInputDialog("Informe a data que deseja editar:");
         String Data= JOptionPane.showInputDialog("Informe a nova data:");

         if(info==null||Data==null)
         {
            JOptionPane.showMessageDialog(this,"Nenhum valor foi Editado!");
         }
         else
         {
            int Horas = Integer.parseInt(JOptionPane.showInputDialog("Informe novas horas:"));
            int Minutos = Integer.parseInt(JOptionPane.showInputDialog("Informe novos minutos:"));

          try
          {
             Class.forName(driver);
             conexao = DriverManager.getConnection("jdbc:mysql://localhost/controle_de_estudos?user=root&password=root");
             sentenca = conexao.createStatement();
             sentenca.execute("UPDATE CONTROLE SET Data_='"+Data+"',Horas='"+Horas+"',Minutos='"+Minutos+"'"
                     + "WHERE "
                     + "DATA_='"+info+"'");

             JOptionPane.showMessageDialog(null,"Informações editadas com sucesso!");
          }catch(ClassNotFoundException ex)
          {
             JOptionPane.showMessageDialog(null,"Driver não localizado: "+ex.getMessage());
          }catch(SQLException ex)
          {
             JOptionPane.showMessageDialog(null,"Erro de SQL"+ ex.getMessage());
          }finally
           {
              try
              {
                 sentenca.close();
                 conexao.close();
              }catch (SQLException ex)
              {
                 JOptionPane.showMessageDialog(null,"Erro de SQL" +ex.getMessage());
              }
           }
      }
     }


      if(e.getSource()==btnSalvar)
      {
          int Horas,Minutos;
          String Data;

          Data = txtData.getText();
          Horas = Integer.parseInt(txtHoras.getText());
          Minutos = Integer.parseInt(txtMinutos.getText());

          try
          {
             Class.forName(driver);
             conexao = DriverManager.getConnection("jdbc:mysql://localhost/controle_de_estudos?user=root&password=root");
             sentenca = conexao.createStatement();
             sentenca.execute("INSERT INTO CONTROLE (DATA_,HORAS,MINUTOS)"+
                     "VALUES('"+Data+"','"+Horas+"','"+Minutos+"')");

             JOptionPane.showMessageDialog(null,"Informações Inseridas com sucesso!");
          }catch(ClassNotFoundException a)
          {
             JOptionPane.showMessageDialog(null,"Driver não localizado: "+a.getMessage());
          }catch(SQLException b)
          {
             JOptionPane.showMessageDialog(null,"Erro de SQL"+ b.getMessage());
          }finally
           {
              try
              {
                 sentenca.close();
                 conexao.close();
              }catch (SQLException c)
              {
                 JOptionPane.showMessageDialog(null,"Erro de SQL" +c.getMessage());
              }
          limpar();
       }
      }

      if(e.getSource()==btnExcluir)
      {
         String info= JOptionPane.showInputDialog("Informe a data que deseja excluir:");

          try
          {
             Class.forName(driver);
             conexao = DriverManager.getConnection("jdbc:mysql://localhost/controle_de_estudos?user=root&password=root");
             sentenca = conexao.createStatement();
             sentenca.execute("DELETE FROM CONTROLE "
                     + "WHERE "
                     + "DATA_='"+info+"'");


             JOptionPane.showMessageDialog(null,"Informações excluidas com sucesso!");
          }catch(ClassNotFoundException ex)
          {
             JOptionPane.showMessageDialog(null,"Driver não localizado: "+ex.getMessage());
          }catch(SQLException ex)
          {
             JOptionPane.showMessageDialog(null,"Erro de SQL"+ ex.getMessage());
          }finally
           {
              try
              {
                 sentenca.close();
                 conexao.close();
              }catch (SQLException ex)
              {
                 JOptionPane.showMessageDialog(null,"Erro de SQL" +ex.getMessage());
              }
           }
       }
    }
}

*/